1. Field of the Invention
The invention described herein relates to computer graphics system performance.
2. Background Art
Computer graphics systems sometimes use parallelism in order to enhance performance. In particular, a graphics system may use more than one rendering pipeline in order to create an image. In such an architecture, each pipeline is responsible for rendering some portion of a frame. When rendering is completed, the outputs of the respective rendering pipelines are combined by a compositor to produce the complete frame. Such an arrangement can significantly increase throughput. If, for example, four equivalent rendering pipelines are used, then the time necessary to render a particular frame is, on average, one fourth of the time that would be required if a single rendering pipeline were used.
This is only an average however. Such a performance enhancement is only possible if the required processing is distributed evenly across all rendering pipelines for each frame. This is typically not the case. If, for example, four rendering pipelines are used, wherein each pipeline is responsible for rendering a particular quadrant of a frame, some quadrants may require more rendering than others. If this is the case, then rendering the frame can only proceed as quickly as the slowest rendering pipeline. The frame will only be completed when the slowest pipeline is finished. An example is shown in FIG. 1. Here, a frame 100 is divided into four quadrants, 110, 120, 130 and 140. If each quadrant is assigned to a particular rendering pipeline, it is apparent that the pipeline associated with quadrant 110 will have more processing to perform, compared to the other quadrants. As a result, rendering of this frame will only be completed when the rendering pipeline associated with quadrant 110 has finished. While this example may be an extreme case, it shows that even given multiple rendering pipelines, in some situations the performance of a multiple pipeline computer graphics system may not be much better than the performance of a single pipeline computer graphics system.
Hence, there is a need for a system and method by which parallelism inherent in a computer graphics system having multiple rendering pipelines is more fully exploited. In particular, the advantages of having multiple rendering pipelines need to be realized under all circumstances.